前言

一般来说,我们从github克隆代码,有两个模式,一个是https模式,一个是ssh模式。
如果我么没有建立ssh信任,是无法通过ssh模式克隆代码的。
ssh模式有一个优势就是可以建立本地git工具和github服务器之间的信任,不需要使用账号密码登录,尤其是我们push origin提交服务器的时候,省去输入账号密码的步骤。

场景

系统:ubuntu 18.04
工具:VSCode 1.31.1
工具:git 2.17.1

过程

  1. 本地准备SSH-KEY
    打开终端,cd ~进入根目录,执行ssh-keygen,一路回车,生成本地的SSH-KEY,在目录/home/myubuntu/.ssh下分别是id_rsaid_rsa.pub文件。其中id_rsa.pub文件是公钥,另一个id_rsa是私钥。公约提供给服务器,私钥自己保留,在这里,服务器就是github。
  2. 把SSH-KEY写入服务器
    登录github,访问https://github.com/settings/keys页面,主页面有两个模块SSH keysGPG keys,我们需要使用的是SSH keys。右边页面有一个绿色按钮New SSH key,点击会出现添加栏,分别是TitleKey。把本地文件id_rsa.pub打开,可以在/home/myubuntu/.ssh下执行命令vi id_rsa.pub,完整复制粘贴到Key输入栏,Title可以随便命名,比如ubuntu key,点击下方的绿色按钮Add SSH key,保存成功。
  3. 在本地终端执行命令ssh -T git@github.com,会用本地秘钥连接github主机,如果有提示You've successfully authenticated, but GitHub does not provide shell access.代表连接成功。这时候可以通过ssh从自己的github仓库拉取项目了。拉取数据的时候必须选择ssh地址,复制到本地终端,进入存放代码的目录,执行命令git clone git@github.com:No2015/vue-cli3-typescript.git。只有通过ssh拉取的项目才能通过ssh来控制。
  4. 本地项目克隆完毕,安装依赖模块,正常运行之后。如果修改成功,可以通过命令行执行git add .git commit -m 'add all',git push origin master三个命令提交代码。或者通过VSCode工具提供的快捷方式提交。因为有ssh签名的信任,账号密码都是免除了的,省事很多。

结语

之前搞了一小会儿,因为项目是通过https模式拉取下来的,ssh建立之后还是需要输入账号密码,折腾很长时间才发现,修改本地仓库的remote就好了,或者删除本地代码,重新通过ssh拉取新代码。
修改本地仓库地址的命令是git remote set-url origin git@github.com:No2015/vue-cli3-typescript.git


陈其文
430 声望19 粉丝

前端